package com.basic.business.pathRel.domain;

import com.basic.common.core.domain.BaseEntity;
import lombok.Getter;
import lombok.Setter;
import cn.idev.excel.annotation.ExcelProperty;
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
import com.basic.common.utils.StringUtils;
import com.basic.common.utils.uuid.ULID;

import java.util.ArrayList;
import java.util.List;

/**
 * 路径关系对象 t_path_rel
 * 
 * @author zhaoxy_jn@163.com
 */
@Getter
@Setter
@ExcelIgnoreUnannotated
public class TPathRel extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private String id;

    /** 父级id */
    @ExcelProperty(value = "父级id")
    private String parentId;

    /** 祖级列表 */
    @ExcelProperty(value = "祖级列表")
    private String ancestors;

    /** 名称 */
    @ExcelProperty(value = "名称")
    private String pathName;

    /** 格式 多个格式用英文逗号隔开 */
    @ExcelProperty(value = "格式 多个格式用英文逗号隔开")
    private String pathFormat;

    /** 类型 1文件夹 2材质 */
    @ExcelProperty(value = "类型 1文件夹 2材质")
    private String pathType;

    /** 状态 正常：NORMAL 删除：DELETED */
    @ExcelProperty(value = "状态 正常：NORMAL 删除：DELETED")
    private String pathStatus;

    /** 材质名称 */
    private String matName;

    /** 路径 */
    private String path;

    /** 子部门 */
    private List<TPathRel> children = new ArrayList<>();

    public void setId(String id) {
        this.id = StringUtils.isNotEmpty(id) ? id : ULID.getId();
    }
}
